home *** CD-ROM | disk | FTP | other *** search
- NOTE ML0010 - UPDATE CODES FIELD 7/10/84
- NOTE CODES STORED IN VARIABLE VAR AND RETURNED IN THAT FIELD
- NOTE OFSET IS STARTING LINE LOCATION ON SCREEN FOR DISPLAY
- NOTE MAX IS MAXIMUM CHARACTERS ALLOWED IN CODE FIELD
- NOTE DELIM IS DELIMITER TO SEPARATE CODES. INVALID IN CODE FIELD
-
- SET TALK OFF
-
- CLEAR GETS
- STORE 2 TO CC
- STORE 0 TO V
- STORE LEN(VAR) TO L
- STORE @(DELIM, VAR) TO N
- STORE N>0 TO OK
-
- DO WHILE OK.AND.V<19
- STORE L-N TO L
- STORE L>0 TO OK
- IF OK
- STORE $(VAR,N+1,L) TO VAR
- STORE @(DELIM, VAR) TO N
- STORE N>0 TO OK
- ENDIF
- IF OK .AND. N>1
- STORE V+1 TO V
- STORE STR(V,1+INT(V/10) ) TO VC
- STORE $(VAR,1,N-1) TO CD&VC
- STORE LEN(CD&VC) TO L&VC
- STORE CC+L&VC +1 TO CC
- ENDIF
- ENDDO
-
- STORE 0 TO L,M,N
- DO ML0015
-
- @ 19,0
- @ 20,0
- @ 21,0
- @ 21,0 SAY '----- INDICATOR(****) MOVEMENT AND FIELD UPDATE CODES ------ Char. Remain '
- @ 22,0 SAY ' M Modify Indicated Code D Delete Code A Add Code E Exit'
- @ 23,0 SAY ' Move Indicator B Backward 1 Field <anything else> Forward 1 Field '
-
- STORE T TO OK
- STORE 0 TO N
- STORE V>0 TO VI
- IF VI
- STORE CC-1 TO CC
- ENDIF
-
- DO WHILE OK
- IF VI
- STORE N+1 TO N
- IF N>V
- STORE 1 TO N
- ENDIF
- STORE STR(N,1+INT(N/10) ) TO VC
- STORE $('**********',1,L&VC) TO VAR
- @ OFSET+LI&VC,M&VC+1 SAY VAR
- ENDIF {v>0}
- @ 21,77 SAY MAX-CC USING '999'
- SET COLON OFF
- SET BELL OFF
- @ 22,1 SAY ' '
- STORE ' ' TO R
- @ 22,2 GET R PICTURE '!'
- READ
- @ 22,1 SAY 'wait'
- SET COLON ON
- SET BELL ON
- IF VI
- STORE $(' ',1,L&VC) TO VAR
- @ OFSET+LI&VC,M&VC+1 SAY VAR
- ENDIF
-
- DO CASE
- CASE R='B'.AND.VI
- IF N<2
- STORE V-1 TO N
- ELSE
- STORE N-2 TO N
- ENDIF
- CASE R='E'
- STORE F TO OK
-
- CASE R='D'.AND.VI
- STORE CC-L&VC -1 TO CC
- STORE M&VC TO M
- STORE LI&VC -1 TO L
- STORE N TO HN
- DO WHILE N<V
- STORE N+1 TO N
- STORE STR(N,1+INT(N/10) ) TO R
- STORE CD&R TO CD&VC
- STORE L&R TO L&VC
- STORE LI&R TO LI&VC
- STORE M&R TO M&VC
- STORE R TO VC
- ENDDO
- STORE STR(V,1+INT(V/10) ) TO VC
- @ OFSET+LI&VC-1, M&VC
- RELEASE CD&VC,L&VC,LI&VC,M&VC
- STORE V-1 TO V
- IF HN>V
- STORE V TO N
- ELSE
- STORE HN-1 TO N,HN
- DO ML0015
- STORE HN TO N
- ENDIF
- STORE V>0 TO VI
- IF .NOT.VI
- STORE 2 TO CC
- ENDIF
- CASE R='M'.AND.VI
- STORE STR(N,1+INT(N/10) ) TO VC
- STORE $(CD&VC + ' ',1,78) TO VAR
- DO ML0011
-
- CASE R='A'
- STORE ' ' TO VAR
- DO ML0011
-
- ENDCASE
- ENDDO {ok}
-
- STORE DELIM TO VAR
- STORE 0 TO N
- DO WHILE N<V
- STORE N+1 TO N
- STORE STR(N,1+INT(N/10) ) TO VC
- STORE VAR+CD&VC +DELIM TO VAR
- RELEASE CD&VC,LI&VC,M&VC,L&VC
- ENDDO
- IF LEN(VAR)<2
- STORE DELIM+DELIM TO VAR
- ENDIF
- RELEASE CC,V,L,M,N,OK,VC,VI,ML,R,HN,XX
- RETURN
- L,R,HN,XX
- RETURN
-